<!doctype html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<title>Leaflet debug page - Popup</title>
		<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0" />
		<link rel="stylesheet" href="../../dist/leaflet.css" />
		<link rel="stylesheet" href="../css/screen.css" />
		<script type="importmap">
			{
				"imports": {
					"leaflet": "../../dist/leaflet-src.esm.js"
				}
			}
		</script>
	</head>
	<body>
		<div id="map"></div>
		<script type="module">
			import {TileLayer, Map, Marker, Circle, Polygon, Popup} from 'leaflet';

			const osmUrl = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png';
			const osmAttrib = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
			const osm = new TileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib});

			const map = new Map('map')
				.setView([51.505, -0.09], 13)
				.addLayer(osm);

			new Marker([51.5, -0.09])
				.addTo(map)
				.bindPopup('<b>Hello world!</b><br />I am a popup.').openPopup();

			new Circle([51.508, -0.11], 500, {
				color: 'red',
				fillColor: '#f03',
				fillOpacity: 0.5
			}).addTo(map).bindPopup('I am a circle.');

			new Polygon([
				[51.509, -0.08],
				[51.503, -0.06],
				[51.51, -0.047]
			]).addTo(map).bindPopup('I am a polygon.');

			const popup = new Popup();

			function onMapClick(e) {
				popup
					.setLatLng(e.latlng)
					.setContent(`You clicked the map at ${e.latlng.toString()}`)
					.openOn(map);
			}

			map.on('click', onMapClick);
		</script>
	</body>
</html>
